package XueXi;

import java.util.Scanner;

public class For_For_xunhuanLX2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入边长");
        int count = scanner.nextInt();

        for (int i=1;i<=count;i++){//控制多少行
            for (int j=1;j<=count;j++){//控制一行打印几个
                if(i==1 || j==1 || i==count || j==count){
                    System.out.print("*  ");
                }else{
                    System.out.print("   ");
                }
            }
            System.out.println();//用来换行
        }
        // 以上为空心正方形
        //外层循环控制行数，内层循环控制列数（一行打印几个）


        for (int k = 1;k <= count;k++) {          //k表示总层数
            for (int z = 1; z <= count - k; z++) {  //输出空格个数
                System.out.print(" ");
            }
            for (int q = 1; q <= 2 * k - 1; q++) {
                if (q == 1 || q == 2 * k - 1 || k == count){ //限制条件使其输出空心三角
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
            }

            System.out.println();
        }
       /*
         *         第1行 1个*  2 * 1 - 1   有总层数-当前行的空格 5 - 1 = 4
        ***        第2行 1个*  2 * 2 - 1   有总层数-当前行的空格 5 - 2 = 3
       *****       第3行 1个*  2 * 3 - 1   有总层数-当前行的空格 5 - 3 = 2
      *******      第4行 1个*  2 * 4 - 1   有总层数-当前行的空格 5 - 4 = 1
     *********     第5行 1个*  2 * 5 - 1   有总层数-当前行的空格 5 - 5 = 0
       */
    }
}
